/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Negocio;

import Base.AdministradorDB;
import Base.AyudanteDB;
import Base.FacultadDB;
import Base.*;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;

/**
 *
 * @author Alina
 */
public class Conexion {
   
    public Conexion() {
    }
    
    
    public boolean grabarPersona(Persona alumno) throws SQLException 
    {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.grabarPersona(alumno);

    }
    
    public boolean grabarExalumno(String cedula) throws SQLException 
    {
        ExAlumnoDB alumnoDB = new ExAlumnoDB();
        return alumnoDB.grabarExalumno(cedula);

    }

    public int grabarCorreo(String correo) throws SQLException {
        CorreoDB correoDB = new CorreoDB();
        return correoDB.grabarCorreo(correo);
    }

    public boolean grabarTelefono(String telefono) throws SQLException {
        TelefonoDB telefonoDB = new TelefonoDB();
        return telefonoDB.grabarTelefono(telefono);
    }

    public boolean PersonaCorreo(String cedula, String correo, int principal) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.grabarPersonaCorreo(cedula,correo, principal);
    }

    public boolean PersonaTelefono(String cedula, String telefono, int principal) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.grabarPersonaTelefono(cedula,telefono, principal);
        
    }

    public boolean grabarUsuario(String usuario, String clave) throws SQLException {
        LoginDB loginDB = new LoginDB();
        return loginDB.grabarUsuario(usuario,clave);
    }

    public Persona buscarPersona(String cedula) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        System.out.println(cedula);
        return personaDB.buscarPersona(cedula);
    }


    public String buscarClave(String cedula) throws SQLException {
        LoginDB loginDB = new LoginDB();
        return loginDB.buscarClave(cedula);
    }

    public Encuesta cargarDatosEncuesta() throws SQLException 
    {
        Encuesta encuesta1 = new Encuesta();
        EncuestaDB encuestadb = new EncuestaDB();
        return encuesta1 = encuestadb.cargarDatosEncuesta();
    }


    public int obtenerTipoContacto(String cedula) throws SQLException {
        
        
        PersonaDB tip = new PersonaDB();
        int tipo = tip.obtenerTipoContacto(cedula);
        return tipo;
    }

    public String obtenerContacto(String cedula) throws SQLException {
         PersonaDB tip = new PersonaDB();
        String contacto = tip.obtenerContacto(cedula);
        return contacto;
    }


    public ArrayList<Seccion> cargarSecciones() throws SQLException {
        
        ArrayList <Seccion> secciones = new ArrayList<Seccion>();
        EncuestaDB encuestadb = new EncuestaDB();
        return secciones = encuestadb.cargarSecciones();
    }



     public ArrayList<String> buscarCorreos(String cedula) throws SQLException {
        CorreoDB correoDB = new CorreoDB();
        return correoDB.buscarCorreos(cedula);
    }

    public ArrayList<String> buscarTelefonos(String cedula) throws SQLException {
        TelefonoDB telefonoDB = new TelefonoDB();
        return telefonoDB.buscarTelefonos(cedula);
    }

    public int modificarPersona(String cedula, String nombre, String apellido, String direccion) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.modificarPersona(cedula,nombre,apellido,direccion);
    }


    public ArrayList<Pregunta_Opciones> cargarPreguntasOpciones() throws SQLException {
        ArrayList <Pregunta_Opciones> preguntasOp = new ArrayList<Pregunta_Opciones>();
        EncuestaDB encuestadb = new EncuestaDB();
        return preguntasOp = encuestadb.cargarPreguntasOpciones();
    }


    public boolean eliminarTelefonoPersona(String cedula) throws SQLException {
        TelefonoDB telefonoDB= new TelefonoDB();
        System.out.println("eliminar "+cedula);
        return telefonoDB.eliminarTelefonoPersona(cedula);
    }


    public int eliminarCorreoPersona(String cedula) throws SQLException {
        CorreoDB correoDB= new CorreoDB();
        return correoDB.eliminarCorreoPersona(cedula);
    }

    public ArrayList<Pregunta_Texto> cargarPreguntasTexto() throws SQLException {
        ArrayList <Pregunta_Texto> preguntasTexto = new ArrayList<Pregunta_Texto>();
        EncuestaDB encuestadb = new EncuestaDB();
        return preguntasTexto = encuestadb.cargarPreguntasTexto();
    }


    public boolean buscarTelefono(String telefono) throws SQLException {
        TelefonoDB telefonoDB = new TelefonoDB();
        return telefonoDB.buscarTelefono(telefono);
    }
    
    public boolean buscarCorreo(String correo) throws SQLException {
        CorreoDB correoDB = new CorreoDB();
        return correoDB.buscarCorreo(correo);
    }


    public ArrayList<Pregunta_Cuadricula> cargarPreguntasCuadricula() throws SQLException {
        ArrayList <Pregunta_Cuadricula> preguntasCuadricula = new ArrayList<Pregunta_Cuadricula>();
        EncuestaDB encuestadb = new EncuestaDB();
        return preguntasCuadricula = encuestadb.cargarPreguntasCuadricula();
    }


    public DefaultTableModel reporteAlumnos(DefaultTableModel modelo,String cadena) throws SQLException {
        ReportesDB reporteDB = new ReportesDB();
        return reporteDB.reporteAlumnos(modelo,cadena);
    }

    public DefaultTableModel reportePorCedula(DefaultTableModel modelo,String cedula,String cadena) throws SQLException {
        ReportesDB reporteDB = new ReportesDB();
        return reporteDB.reportePorCedula(modelo,cedula,cadena);
    }
    
    public DefaultTableModel reportePorNombre(DefaultTableModel modelo,String nombre,String cadena) throws SQLException {
        ReportesDB reporteDB = new ReportesDB();
        return reporteDB.reportePorNombre(modelo,nombre,cadena);
    }
    
    public DefaultTableModel reportePorApellido(DefaultTableModel modelo,String apellido,String cadena) throws SQLException {
        ReportesDB reporteDB = new ReportesDB();
        return reporteDB.reportePorApellido(modelo,apellido,cadena);
    }

    public TableModel obtenerTrabajaActual(DefaultTableModel temp, String cedula) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.obtenerTrabajaActual(temp,cedula);
    }

    public TableModel obtenerHistorialTrabajo(DefaultTableModel temp1, String cedula) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.obtenerHistorialTrabajo(temp1,cedula);
    }


    public ArrayList<Pregunta> cargarPreguntas() throws SQLException {
        ArrayList <Pregunta> preguntas = new ArrayList<Pregunta>();
        EncuestaDB encuestadb = new EncuestaDB();
        return preguntas = encuestadb.cargarPreguntas();
    }


    public ArrayList<String> listarFacultades() throws SQLException {
        ReportesDB reportesDB=new ReportesDB();
        return reportesDB.listarFacultades();
    }
    
    public ArrayList<String> listarEscuelas(String facultad) throws SQLException {
        ReportesDB reportesDB=new ReportesDB();
        return reportesDB.listarEscuelas(facultad);
    }


    public ArrayList<String> listarMetodoTelefono() throws SQLException {
        PersonaDB personaDB= new PersonaDB();
        return personaDB.listarMetodoTelefono();
    }
    
    public ArrayList<String> listarMetodoCorreo() throws SQLException{
        PersonaDB personaDB= new PersonaDB();
        return personaDB.listarMetodoCorreo();
    }
    
    public ArrayList<String> listarMetodoOtro() throws SQLException{
        PersonaDB personaDB= new PersonaDB();
        return personaDB.listarMetodoOtro();
    }

    public ArrayList<String> listarContactados() throws SQLException {
        PersonaDB personaDB= new PersonaDB();
        return personaDB.listarContactados();
    }

    public ArrayList<String> listarMetodoNoContactados() throws SQLException {
        PersonaDB personaDB= new PersonaDB();
        return personaDB.listarNoContactados();
    }

    public DefaultTableModel reportePorEscuela(DefaultTableModel temp) throws SQLException {
        ReportesDB reportesDB=new ReportesDB();
        return reportesDB.reportePorEscuela(temp);
    }

    public DefaultTableModel reportePorFacultad(DefaultTableModel temp) throws SQLException {
        ReportesDB reportesDB=new ReportesDB();
        return reportesDB.reportePorFacultad(temp);
    }

    public ArrayList listarEncuestas() throws SQLException {
        EncuestaDB encuestaDB = new EncuestaDB();
        return encuestaDB.listarEncuestas();
    }

    public boolean comprobarAsignacion(String id_encuesta, String cedula) throws SQLException {
        EncuestaDB encuestaDB = new EncuestaDB();
        return encuestaDB.comprobarAsignacion(id_encuesta,cedula);
    }

    public int asignarEncuesta(String id_encuesta, String cedula) throws SQLException{
        EncuestaDB encuestaDB = new EncuestaDB();
        return encuestaDB.asignarEncuesta(id_encuesta,cedula);
    }

    public ArrayList<String> listarCedulaExalumnos(String facultad, String escuela) throws SQLException {
        PersonaDB personaDB=new PersonaDB();
        return personaDB.listarCedulaExalumno(facultad,escuela);
    }

    public int desasignarEncuesta(String id_encuesta, String cedula) throws SQLException {
        EncuestaDB encuestaDB = new EncuestaDB();
        return encuestaDB.desasignarEncuesta(id_encuesta,cedula);
    }

    public int modificarEstadoEncuesta(String id_encuesta, int estado) throws SQLException {
        EncuestaDB encuestaDB = new EncuestaDB();
        return encuestaDB.modificarEstadoEncuesta(id_encuesta,estado);
    }

    public boolean comprobarEncuestaLlenada(String id_encuesta) throws SQLException  {
        EncuestaDB encuestaDB = new EncuestaDB();
        return encuestaDB.verificarEncuestaLlenada(id_encuesta);
    }

    public int eliminarEncuesta(String id_encuesta)throws SQLException {
        EncuestaDB encuestaDB = new EncuestaDB();
        return encuestaDB.eliminarEncuesta(id_encuesta);
    }

    public int modificarDescripcionEncuesta(String id_encuesta,String titulo,String cabecera,String despedida)throws SQLException {
        EncuestaDB encuestaDB = new EncuestaDB();
        return encuestaDB.modificarDescripcionEncuesta(id_encuesta,titulo,cabecera,despedida);
    }

    public int crearEncuesta(String titulo,String cabecera,String despedida) throws SQLException {
        EncuestaDB encuestaDB = new EncuestaDB();
        return encuestaDB.crearEncuesta(titulo,cabecera,despedida);
    }


    public Vector<Object> LlenarComboBoxNacionalidad() {
        PersonaDB exAlumnoDB = new PersonaDB();
        Vector<Object> data=new Vector<Object>();
        data = exAlumnoDB.LlenarComboBoxNacionalidad();
        return data;
    }

    public Vector<Object> LlenarComboBoxEtnia() {
        PersonaDB exAlumnoDB = new PersonaDB();
        Vector<Object> data=new Vector<Object>();
        data = exAlumnoDB.LlenarComboBoxEtnia();
        return data;
    }

    public String obtenerGenero(String cedula) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.obtenerGenero(cedula);
    }

    public String obtenerNacionalidad(String cedula) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.obtenerNacionalidad(cedula);
    }

    public String obtenerRaza(String cedula) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.obtenerRaza(cedula);
    }

    public boolean IngresarNacionalidad(String nombre) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.IngresarNacionalidad(nombre);
    }

    public boolean IngresarEtnia(String nombre) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.IngresarEtnia(nombre);
    }

    public int modificarPersonaD(String cedula, String genero, String nacionalidad, String raza) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.modificarPersonaD(cedula,genero,nacionalidad,raza);
    }

    public String ObtenerTelefonoPrincipal(String cedula) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.ObtenerTelefonoPrincipal(cedula);
    }

    public String ObtenerCorreoPrincipal(String cedula) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.ObtenerCorreoPrincipal(cedula);
    }

    public int modificarTelefonoPrincipal(String text, String toString) {
        throw new UnsupportedOperationException("Not yet implemented");
    }


    public boolean grabarAyudante(String cedula) throws SQLException {
        AyudanteDB ayudanteDB = new AyudanteDB();
        return ayudanteDB.grabarAyudante(cedula);
    }

    public boolean grabarAdministrador(String cedula) throws SQLException{
        AdministradorDB adminDB = new AdministradorDB();
        return adminDB.grabarAdministrador(cedula);
    }

    public String buscarFacultad(String facultad) throws SQLException {
        FacultadDB facuDB=new FacultadDB();
        return facuDB.buscarFacultad(facultad);
    }

    public boolean grabarAdministradorFacultad(String cedula, String fac) throws SQLException {
        AdministradorDB adminDB = new AdministradorDB();
        return adminDB.grabarAdministradorFacultad(cedula,fac);
    }

    public String buscarEscuela(String escuela)throws SQLException {
        FacultadDB escuDB=new FacultadDB();
        return escuDB.buscarEscuela(escuela);
    }

    public String buscarTitulo(String esc) throws SQLException {
        FacultadDB escuDB=new FacultadDB();
        return escuDB.buscarTitulo(esc);
    }

    public boolean grabarExalumnoTitulo(String cedula, String titulo) throws SQLException {
        ExAlumnoDB alumnoDB=new ExAlumnoDB();
        return alumnoDB.grabarExalumnoTitulo(cedula,titulo);
    }

    public boolean modificarClave(String cedula, String clave) throws SQLException {
        LoginDB loginDB = new LoginDB();
        return loginDB.modificarClave(cedula,clave);
    }


    public int tipoOtro(String cedula, String otro) throws SQLException {
        ExAlumnoDB exalumnodb = new ExAlumnoDB();
        int resultado = exalumnodb.tipoOtro(cedula,otro);
        return resultado;
    }

    public String ObtenerOtro(String cedula) throws SQLException {
        ExAlumnoDB exalumnodb = new ExAlumnoDB();
        return exalumnodb.ObtenerOtro(cedula);
    }

    public int actualizarMetodo(String cedula, int i) throws SQLException {
        ExAlumnoDB exalumnodb = new ExAlumnoDB();
        return exalumnodb.actualizarMetodo(cedula,i);
    }

    public ArrayList<String> listarCiudades() throws SQLException{
        PersonaDB personaDB = new PersonaDB();
        return personaDB.listarCiudades();
        
    }

    public boolean agregarCiudad(String ciudad) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.agregarCiudad(ciudad);
    }

    public String buscarCiudad(String cedula) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.buscarCiudad(cedula);
    }


    public boolean grabarCiudadPersona(String cedula, String ciudad)throws SQLException  {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.grabarCiudadPersona(cedula,ciudad);
    }


    public int modificarCiudad(String cedula, String ciudad) throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.modificarCiudad(cedula,ciudad);
    }

    public boolean grabarMetodo(int metodo, int contacto, String cedula) throws SQLException{
        PersonaDB personaDB = new PersonaDB();
        return personaDB.grabarMetodo(metodo,contacto,cedula);
    }
    
    public boolean modificarMetodo(int metodo, int contacto, String cedula) throws SQLException{
        PersonaDB personaDB = new PersonaDB();
        return personaDB.modificarMetodo(metodo,contacto,cedula);
    }

    public boolean grabarPersonaOtro(String cedula, String descripcion)throws SQLException {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.grabarPersonaOtro(cedula,descripcion);
    }

    public String obtenerEstado(String cedula)throws SQLException  {
        PersonaDB personaDB = new PersonaDB();
        return personaDB.obtenerEstado(cedula);
    }

    public void ingersarLog(String cedula, String actividad) throws SQLException {
        LoginDB log = new LoginDB();
        log.ingresarLog(cedula,actividad);
    }


    public Vector<Object> LlenarComboBoxFacultad() {
        FacultadDB fac = new FacultadDB();
        Vector<Object> data=new Vector<Object>();
        data = fac.LlenarComboBoxFacultad();
        return data;
    }

    /*public Vector<Object> LlenarComboBoxEscuela() {
        FacultadDB fac = new FacultadDB();
        Vector<Object> data=new Vector<Object>();
        data = fac.LlenarComboBoxEscuela();
        return data;
    }*/


    public boolean buscarExalumno(String cedula) throws SQLException{
        ExAlumnoDB exaDB =new ExAlumnoDB();
        return exaDB.buscarExalumno(cedula);
    }

    public boolean buscarAdministrador(String cedula) throws SQLException {
        AdministradorDB adminDB = new AdministradorDB();
        return adminDB.buscarAdministrador(cedula);
    }
    
    public boolean buscarAyudante(String cedula) throws SQLException {
        AyudanteDB ayudanteDB = new AyudanteDB();
        return ayudanteDB.buscarAyudante(cedula);
    }

    public String buscarEscuelaCedula(String cedula) throws SQLException {
        FacultadDB facuDB=new FacultadDB();
        return facuDB.buscarEscuelaCedula(cedula);
    }

    public Object buscarFacultadEscuela(String esc) throws SQLException {
        FacultadDB facuDB=new FacultadDB();
        return facuDB.buscarFacultadEscuela(esc);
    }

    public Vector<Object> LlenarComboBoxTitulo(String escuela) {
        FacultadDB fac = new FacultadDB();
        Vector<Object> data=new Vector<Object>();
        data = fac.LlenarComboBoxTitulo(escuela);
        return data;
    }

}
